package com.smartfast4j.common.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 通用的页面视图跳转Controller
 *
 * @author Xudapei
 */
@Controller
@RequestMapping(value = "/view")
public class ViewController {

    /**
     * 跳转到指定视图页面
     * @param viewName 视图名称
     * @return
     */
    @RequestMapping(value = "/{viewName}",name = "跳转到指定视图页面")
    public String redirect(@PathVariable("viewName") String viewName) {
        return viewName;
    }

    /**
     * 跳转到指定模块的视图页面
     * @param module 模块名
     * @param viewName 视图名称
     * @return
     */
    @RequestMapping(value = "/{module}/{viewName}",name = "跳转到指定模块的视图页面")
    public String redirect(@PathVariable("module") String module, @PathVariable("viewName") String viewName) {
        return module+"/" + viewName;
    }

    /**
     * 跳转到指定模块的视图页面
     * @param module 模块名
     * @param subModule 子模块名
     * @param viewName 视图名称
     * @return
     */
    @RequestMapping(value = "/{module}/{subModule}/{viewName}",name = "跳转到指定模块下的子模块的视图页面")
    public String redirect(@PathVariable("module") String module, @PathVariable("subModule") String subModule, @PathVariable("viewName") String viewName) {
        return module+"/"+subModule+"/" + viewName;
    }

    /**
     * 跳转到指定模块的视图页面
     * @param module 模块名
     * @param subModule1 子模块名1
     * @param subModule2 子模块名2
     * @param viewName 视图名称
     * @return
     */
    @RequestMapping(value = "/{module}/{subModule1}/{subModule2}/{viewName}",name = "跳转到指定模块下的子模块的视图页面")
    public String redirect(@PathVariable("module") String module, @PathVariable("subModule1") String subModule1, @PathVariable("subModule2") String subModule2, @PathVariable("viewName") String viewName) {
        return module + "/" + subModule1 + "/" + subModule2 + "/" + viewName;
    }
}
